package com.lagou;

import java.util.HashSet;
import java.util.Set;

/**
 * 判断数组中所有的数字是否只出现一次。给定一个数组array，判断数组 array 中是否所有的数字都只 出现过一次。
 * 例如，arr = {1, 2, 3}，输出 YES。又如，arr = {1, 2, 1}，输出 NO。约束时间复杂度为 O(n)。
 */
public class CheckRepeat {


    public static boolean isHasRepeat(int[] arr) {
        Set<Integer> set = new HashSet<Integer>();
        for (int num : arr) {
            boolean contains = set.contains(num);
            if (contains) {
                return false;
            }
            set.add(num);
        }
        return true;
    }

    public static void main(String[] args) {
        if (isHasRepeat(new int[]{1, 2, 3})) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }

        if (isHasRepeat(new int[]{1, 2, 1})) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
    }

}
